﻿Imports System
Imports System.Runtime.CompilerServices
Imports System.Runtime.InteropServices

Namespace Google.Desktop.Interop
    <ComImport, Guid("2B62A832-2CA2-4843-86CA-45450D35EADA"), TypeLibType(CShort(2)), ClassInterface(CShort(0))> _
    Public Class GoogleDesktopFilterCollectionClass
        Implements IGoogleDesktopFilterCollection, GoogleDesktopFilterCollection

        ' Methods
        <MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime)> _
        Public Sub New()

        End Sub

        <MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime), DispId(&H3F7)> _
        Public Overridable Function AddFilter(<[In](), MarshalAs(UnmanagedType.BStr)> ByVal progid As String, <[In](), MarshalAs(UnmanagedType.Struct)> Optional ByVal name As Object = Nothing) As <MarshalAs(UnmanagedType.IDispatch)> Object Implements IGoogleDesktopFilterCollection.AddFilter

        End Function


        <MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime), DispId(&H3F9)> _
        Public Overridable Function FindFilter(<[In](), MarshalAs(UnmanagedType.BStr)> ByVal filter_name As String) As <MarshalAs(UnmanagedType.IDispatch)> Object Implements IGoogleDesktopFilterCollection.FindFilter

        End Function

        <MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime), DispId(&H3FA)> _
        Public Overridable Sub RemoveAllFilters() Implements IGoogleDesktopFilterCollection.RemoveAllFilters

        End Sub

        <MethodImpl(MethodImplOptions.InternalCall, MethodCodeType:=MethodCodeType.Runtime), DispId(&H3F8)> _
        Public Overridable Sub RemoveFilter(<[In](), MarshalAs(UnmanagedType.IDispatch)> ByVal filter As Object) Implements IGoogleDesktopFilterCollection.RemoveFilter

        End Sub


        ' Properties
        <DispId(&H3F5)> _
        Public Overridable Property filter_operator() As GoogleDesktopSubscriptionFilterOperator Implements IGoogleDesktopFilterCollection.filter_operator
            Get
            End Get
            Set(<[In]()> ByVal op As GoogleDesktopSubscriptionFilterOperator)
            End Set
        End Property
      
        
        <DispId(&H3F6)> _
        Public Overridable Property negate_result() As Boolean Implements IGoogleDesktopFilterCollection.negate_result
            Get
            End Get
            Set(<[In]()> ByVal [not] As Boolean)
            End Set
        End Property

      
    End Class
End Namespace

